@progress/kendo-angular-scheduler 25.0.0-develop.29 → 25.0.0-develop.30

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.
@@ -43,8 +43,8 @@ const packageMetadata = {
43
43
  productName: 'Kendo UI for Angular',
44
44
  productCode: 'KENDOUIANGULAR',
45
45
  productCodes: ['KENDOUIANGULAR'],
46
- publishDate: 1786441908,
47
- version: '25.0.0-develop.29',
46
+ publishDate: 1786449944,
47
+ version: '25.0.0-develop.30',
48
48
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
49
49
  };
50
50
 
@@ -6167,15 +6167,51 @@ class EditDialogComponent {
6167
6167
  }
6168
6168
  }
6169
6169
  setDateTime(field, date, time) {
6170
- const merged = dateWithTime(date, time);
6170
+ if (!date) {
6171
+ this.getControl(field).setValue(null);
6172
+ this.invalidateSiblingControl(field, true);
6173
+ return;
6174
+ }
6175
+ const isStart = field === this.fields.start;
6176
+ const effectiveTime = time || (isStart ? this.startTimeControl : this.endTimeControl).value;
6177
+ if (!effectiveTime) {
6178
+ this.getControl(field).setValue(null);
6179
+ this.invalidateSiblingControl(field, true);
6180
+ return;
6181
+ }
6182
+ const merged = dateWithTime(date, effectiveTime);
6171
6183
  this.getControl(field).setValue(merged);
6172
6184
  this.syncSubControls(field, merged);
6173
6185
  }
6174
6186
  setTime(field, time) {
6175
- const merged = dateWithTime(this.getControl(field).value, time);
6187
+ if (!time) {
6188
+ this.getControl(field).setValue(null);
6189
+ this.invalidateSiblingControl(field, false);
6190
+ return;
6191
+ }
6192
+ const isStart = field === this.fields.start;
6193
+ const current = this.getControl(field).value || (isStart ? this.startDateControl : this.endDateControl).value;
6194
+ if (!current) {
6195
+ this.getControl(field).setValue(null);
6196
+ this.invalidateSiblingControl(field, false);
6197
+ return;
6198
+ }
6199
+ const merged = dateWithTime(current, time);
6176
6200
  this.getControl(field).setValue(merged);
6177
6201
  this.syncSubControls(field, merged);
6178
6202
  }
6203
+ invalidateSiblingControl(field, dateChanged) {
6204
+ const mainControl = this.getControl(field);
6205
+ if (!mainControl?.validator) {
6206
+ return;
6207
+ }
6208
+ const isStart = field === this.fields.start;
6209
+ const siblingControl = dateChanged
6210
+ ? (isStart ? this.startTimeControl : this.endTimeControl)
6211
+ : (isStart ? this.startDateControl : this.endDateControl);
6212
+ siblingControl.setErrors({ required: true });
6213
+ siblingControl.markAsTouched();
6214
+ }
6179
6215
  // Writes the merged value back into both dedicated sub controls, so the DatePicker and
6180
6216
  // TimePicker always hold an identical value and therefore validate identically against the
6181
6217
  // same validators.
@@ -6185,6 +6221,8 @@ class EditDialogComponent {
6185
6221
  const timeControl = isStart ? this.startTimeControl : this.endTimeControl;
6186
6222
  dateControl.setValue(value, { emitEvent: false });
6187
6223
  timeControl.setValue(value, { emitEvent: false });
6224
+ dateControl.updateValueAndValidity({ emitEvent: false });
6225
+ timeControl.updateValueAndValidity({ emitEvent: false });
6188
6226
  dateControl.markAsDirty();
6189
6227
  timeControl.markAsDirty();
6190
6228
  }
package/index.d.ts CHANGED
@@ -5481,6 +5481,7 @@ declare class EditDialogComponent implements OnDestroy {
5481
5481
  private setDisabledState;
5482
5482
  private setDateTime;
5483
5483
  private setTime;
5484
+ private invalidateSiblingControl;
5484
5485
  private syncSubControls;
5485
5486
  private subscribeToFormGroupChanges;
5486
5487
  /**
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1786441908,
11
- "version": "25.0.0-develop.29",
10
+ "publishDate": 1786449944,
11
+ "version": "25.0.0-develop.30",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-scheduler",
3
- "version": "25.0.0-develop.29",
3
+ "version": "25.0.0-develop.30",
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",
@@ -80,7 +80,7 @@
80
80
  "package": {
81
81
  "productName": "Kendo UI for Angular",
82
82
  "productCode": "KENDOUIANGULAR",
83
- "publishDate": 1786441908,
83
+ "publishDate": 1786449944,
84
84
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
85
85
  }
86
86
  },
@@ -93,23 +93,23 @@
93
93
  "@progress/kendo-data-query": "^1.7.3",
94
94
  "@progress/kendo-drawing": "^1.25.0",
95
95
  "@progress/kendo-licensing": "^1.11.0",
96
- "@progress/kendo-angular-tooltip": "25.0.0-develop.29",
97
- "@progress/kendo-angular-buttons": "25.0.0-develop.29",
98
- "@progress/kendo-angular-common": "25.0.0-develop.29",
99
- "@progress/kendo-angular-dateinputs": "25.0.0-develop.29",
100
- "@progress/kendo-angular-dialog": "25.0.0-develop.29",
101
- "@progress/kendo-angular-dropdowns": "25.0.0-develop.29",
102
- "@progress/kendo-angular-icons": "25.0.0-develop.29",
103
- "@progress/kendo-angular-inputs": "25.0.0-develop.29",
104
- "@progress/kendo-angular-intl": "25.0.0-develop.29",
105
- "@progress/kendo-angular-l10n": "25.0.0-develop.29",
106
- "@progress/kendo-angular-label": "25.0.0-develop.29",
107
- "@progress/kendo-angular-popup": "25.0.0-develop.29",
96
+ "@progress/kendo-angular-tooltip": "25.0.0-develop.30",
97
+ "@progress/kendo-angular-buttons": "25.0.0-develop.30",
98
+ "@progress/kendo-angular-common": "25.0.0-develop.30",
99
+ "@progress/kendo-angular-dateinputs": "25.0.0-develop.30",
100
+ "@progress/kendo-angular-dialog": "25.0.0-develop.30",
101
+ "@progress/kendo-angular-dropdowns": "25.0.0-develop.30",
102
+ "@progress/kendo-angular-icons": "25.0.0-develop.30",
103
+ "@progress/kendo-angular-inputs": "25.0.0-develop.30",
104
+ "@progress/kendo-angular-intl": "25.0.0-develop.30",
105
+ "@progress/kendo-angular-l10n": "25.0.0-develop.30",
106
+ "@progress/kendo-angular-label": "25.0.0-develop.30",
107
+ "@progress/kendo-angular-popup": "25.0.0-develop.30",
108
108
  "rxjs": "^6.5.3 || ^7.0.0"
109
109
  },
110
110
  "dependencies": {
111
111
  "tslib": "^2.3.1",
112
- "@progress/kendo-angular-schematics": "25.0.0-develop.29",
112
+ "@progress/kendo-angular-schematics": "25.0.0-develop.30",
113
113
  "@progress/kendo-date-math": "^1.3.2",
114
114
  "@progress/kendo-draggable": "^3.0.2",
115
115
  "@progress/kendo-file-saver": "^1.0.7",
@@ -9,10 +9,10 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '25.0.0-develop.29',
13
- '@progress/kendo-angular-navigation': '25.0.0-develop.29',
12
+ '@progress/kendo-angular-treeview': '25.0.0-develop.30',
13
+ '@progress/kendo-angular-navigation': '25.0.0-develop.30',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '25.0.0-develop.29',
15
+ '@progress/kendo-angular-dialog': '25.0.0-develop.30',
16
16
  // peer dependency of kendo-angular-icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0'
18
18
  } });