@progress/kendo-angular-dateinputs 16.3.0-develop.4 → 16.3.0-develop.6

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.
@@ -175,15 +175,7 @@ export class DateInputComponent {
175
175
  * }
176
176
  * ```
177
177
  */
178
- this.steps = {
179
- // Default values are needed until fix in common package: https://github.com/telerik/kendo-dateinputs-common/issues/26
180
- second: 1,
181
- minute: 1,
182
- hour: 1,
183
- day: 1,
184
- month: 1,
185
- year: 1
186
- };
178
+ this.steps = {};
187
179
  /**
188
180
  * Determines whether the built-in min or max validators are to be enforced when a form is being validated.
189
181
  */
@@ -388,6 +380,7 @@ export class DateInputComponent {
388
380
  */
389
381
  set value(value) {
390
382
  this.verifyValue(value);
383
+ this.showClearButton = value || (!value && this.isDateIncomplete) ? true : false;
391
384
  this._value = cloneDate(value);
392
385
  this.valueUpdate.emit(cloneDate(value));
393
386
  }
@@ -605,6 +598,9 @@ export class DateInputComponent {
605
598
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop;
606
599
  this.onValidatorChange();
607
600
  }
601
+ if (changes['clearButton']) {
602
+ this.showClearButton = this.clearButton && (isPresent(this.value) || this.isDateIncomplete);
603
+ }
608
604
  const isEqualToKendoDate = this.kendoDate && isEqual(this.value, this.kendoDate.value);
609
605
  if (!isEqualToKendoDate) {
610
606
  if (!this.kendoDate) {
@@ -708,9 +704,9 @@ export class DateInputComponent {
708
704
  this.kendoDate?.refreshElementValue();
709
705
  }
710
706
  resetInput() {
711
- this.kendoDateObject?.setValue(null);
712
- this.kendoDate?.refreshElementValue();
713
- this.control?.setValue(null);
707
+ this.writeValue(null);
708
+ // Notify datepicker that a change has happened and emit `valueChange`
709
+ this.notify();
714
710
  this.showClearButton = false;
715
711
  }
716
712
  /**
@@ -728,7 +724,7 @@ export class DateInputComponent {
728
724
  */
729
725
  notify() {
730
726
  this.ngZone.run(() => {
731
- this.showClearButton = true;
727
+ this.showClearButton = this.value ? true : false;
732
728
  this.onControlChange(cloneDate(this.value));
733
729
  this.valueChange.emit(cloneDate(this.value));
734
730
  });
@@ -803,7 +799,7 @@ export class DateInputComponent {
803
799
  onWidgetInputEnd() {
804
800
  this.updateIncompleteValidationStatus();
805
801
  if (this.clearButton) {
806
- this.showClearButton = true;
802
+ this.showClearButton = this.value || this.isDateIncomplete ? true : false;
807
803
  this.cdr.markForCheck();
808
804
  }
809
805
  }
@@ -785,8 +785,6 @@ export class DatePickerComponent extends MultiTabStop {
785
785
  * @hidden
786
786
  */
787
787
  handleChange(value) {
788
- this.cdr.markForCheck();
789
- this.dateInput.showClearButton = true;
790
788
  this.value = value;
791
789
  if (this.show) {
792
790
  this.focusInput();
@@ -142,14 +142,7 @@ export class DateTimePickerComponent extends MultiTabStop {
142
142
  * Configures the incremental steps of the DateInput and the popup component of the TimePicker
143
143
  * ([see example]({% slug incrementalsteps_datetimepicker %})).
144
144
  */
145
- this.steps = {
146
- second: 1,
147
- minute: 1,
148
- hour: 1,
149
- day: 1,
150
- month: 1,
151
- year: 1
152
- };
145
+ this.steps = {};
153
146
  /**
154
147
  * Specifies the Calendar type.
155
148
  *
@@ -1278,7 +1271,6 @@ export class DateTimePickerComponent extends MultiTabStop {
1278
1271
  if (isEqual(this.value, value)) {
1279
1272
  return;
1280
1273
  }
1281
- this.dateInput.showClearButton = true;
1282
1274
  this.value = cloneDate(value);
1283
1275
  this.onControlChange(cloneDate(value));
1284
1276
  this.valueChange.emit(cloneDate(value));
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dateinputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1718190655,
13
- version: '16.3.0-develop.4',
12
+ publishDate: 1718201896,
13
+ version: '16.3.0-develop.6',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  name: '@progress/kendo-angular-dateinputs',
38
38
  productName: 'Kendo UI for Angular',
39
39
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
40
- publishDate: 1718190655,
41
- version: '16.3.0-develop.4',
40
+ publishDate: 1718201896,
41
+ version: '16.3.0-develop.6',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -8182,15 +8182,7 @@ class DateInputComponent {
8182
8182
  * }
8183
8183
  * ```
8184
8184
  */
8185
- this.steps = {
8186
- // Default values are needed until fix in common package: https://github.com/telerik/kendo-dateinputs-common/issues/26
8187
- second: 1,
8188
- minute: 1,
8189
- hour: 1,
8190
- day: 1,
8191
- month: 1,
8192
- year: 1
8193
- };
8185
+ this.steps = {};
8194
8186
  /**
8195
8187
  * Determines whether the built-in min or max validators are to be enforced when a form is being validated.
8196
8188
  */
@@ -8395,6 +8387,7 @@ class DateInputComponent {
8395
8387
  */
8396
8388
  set value(value) {
8397
8389
  this.verifyValue(value);
8390
+ this.showClearButton = value || (!value && this.isDateIncomplete) ? true : false;
8398
8391
  this._value = cloneDate(value);
8399
8392
  this.valueUpdate.emit(cloneDate(value));
8400
8393
  }
@@ -8613,6 +8606,9 @@ class DateInputComponent {
8613
8606
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
8614
8607
  this.onValidatorChange();
8615
8608
  }
8609
+ if (changes['clearButton']) {
8610
+ this.showClearButton = this.clearButton && (isPresent(this.value) || this.isDateIncomplete);
8611
+ }
8616
8612
  const isEqualToKendoDate = this.kendoDate && isEqual(this.value, this.kendoDate.value);
8617
8613
  if (!isEqualToKendoDate) {
8618
8614
  if (!this.kendoDate) {
@@ -8718,10 +8714,9 @@ class DateInputComponent {
8718
8714
  (_c = this.kendoDate) === null || _c === void 0 ? void 0 : _c.refreshElementValue();
8719
8715
  }
8720
8716
  resetInput() {
8721
- var _a, _b, _c;
8722
- (_a = this.kendoDateObject) === null || _a === void 0 ? void 0 : _a.setValue(null);
8723
- (_b = this.kendoDate) === null || _b === void 0 ? void 0 : _b.refreshElementValue();
8724
- (_c = this.control) === null || _c === void 0 ? void 0 : _c.setValue(null);
8717
+ this.writeValue(null);
8718
+ // Notify datepicker that a change has happened and emit `valueChange`
8719
+ this.notify();
8725
8720
  this.showClearButton = false;
8726
8721
  }
8727
8722
  /**
@@ -8739,7 +8734,7 @@ class DateInputComponent {
8739
8734
  */
8740
8735
  notify() {
8741
8736
  this.ngZone.run(() => {
8742
- this.showClearButton = true;
8737
+ this.showClearButton = this.value ? true : false;
8743
8738
  this.onControlChange(cloneDate(this.value));
8744
8739
  this.valueChange.emit(cloneDate(this.value));
8745
8740
  });
@@ -8811,7 +8806,7 @@ class DateInputComponent {
8811
8806
  onWidgetInputEnd() {
8812
8807
  this.updateIncompleteValidationStatus();
8813
8808
  if (this.clearButton) {
8814
- this.showClearButton = true;
8809
+ this.showClearButton = this.value || this.isDateIncomplete ? true : false;
8815
8810
  this.cdr.markForCheck();
8816
8811
  }
8817
8812
  }
@@ -10108,8 +10103,6 @@ class DatePickerComponent extends MultiTabStop {
10108
10103
  * @hidden
10109
10104
  */
10110
10105
  handleChange(value) {
10111
- this.cdr.markForCheck();
10112
- this.dateInput.showClearButton = true;
10113
10106
  this.value = value;
10114
10107
  if (this.show) {
10115
10108
  this.focusInput();
@@ -14535,14 +14528,7 @@ class DateTimePickerComponent extends MultiTabStop {
14535
14528
  * Configures the incremental steps of the DateInput and the popup component of the TimePicker
14536
14529
  * ([see example]({% slug incrementalsteps_datetimepicker %})).
14537
14530
  */
14538
- this.steps = {
14539
- second: 1,
14540
- minute: 1,
14541
- hour: 1,
14542
- day: 1,
14543
- month: 1,
14544
- year: 1
14545
- };
14531
+ this.steps = {};
14546
14532
  /**
14547
14533
  * Specifies the Calendar type.
14548
14534
  *
@@ -15683,7 +15669,6 @@ class DateTimePickerComponent extends MultiTabStop {
15683
15669
  if (isEqual(this.value, value)) {
15684
15670
  return;
15685
15671
  }
15686
- this.dateInput.showClearButton = true;
15687
15672
  this.value = cloneDate(value);
15688
15673
  this.onControlChange(cloneDate(value));
15689
15674
  this.valueChange.emit(cloneDate(value));
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  name: '@progress/kendo-angular-dateinputs',
38
38
  productName: 'Kendo UI for Angular',
39
39
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
40
- publishDate: 1718190655,
41
- version: '16.3.0-develop.4',
40
+ publishDate: 1718201896,
41
+ version: '16.3.0-develop.6',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -8164,15 +8164,7 @@ class DateInputComponent {
8164
8164
  * }
8165
8165
  * ```
8166
8166
  */
8167
- this.steps = {
8168
- // Default values are needed until fix in common package: https://github.com/telerik/kendo-dateinputs-common/issues/26
8169
- second: 1,
8170
- minute: 1,
8171
- hour: 1,
8172
- day: 1,
8173
- month: 1,
8174
- year: 1
8175
- };
8167
+ this.steps = {};
8176
8168
  /**
8177
8169
  * Determines whether the built-in min or max validators are to be enforced when a form is being validated.
8178
8170
  */
@@ -8377,6 +8369,7 @@ class DateInputComponent {
8377
8369
  */
8378
8370
  set value(value) {
8379
8371
  this.verifyValue(value);
8372
+ this.showClearButton = value || (!value && this.isDateIncomplete) ? true : false;
8380
8373
  this._value = cloneDate(value);
8381
8374
  this.valueUpdate.emit(cloneDate(value));
8382
8375
  }
@@ -8594,6 +8587,9 @@ class DateInputComponent {
8594
8587
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
8595
8588
  this.onValidatorChange();
8596
8589
  }
8590
+ if (changes['clearButton']) {
8591
+ this.showClearButton = this.clearButton && (isPresent(this.value) || this.isDateIncomplete);
8592
+ }
8597
8593
  const isEqualToKendoDate = this.kendoDate && isEqual(this.value, this.kendoDate.value);
8598
8594
  if (!isEqualToKendoDate) {
8599
8595
  if (!this.kendoDate) {
@@ -8697,9 +8693,9 @@ class DateInputComponent {
8697
8693
  this.kendoDate?.refreshElementValue();
8698
8694
  }
8699
8695
  resetInput() {
8700
- this.kendoDateObject?.setValue(null);
8701
- this.kendoDate?.refreshElementValue();
8702
- this.control?.setValue(null);
8696
+ this.writeValue(null);
8697
+ // Notify datepicker that a change has happened and emit `valueChange`
8698
+ this.notify();
8703
8699
  this.showClearButton = false;
8704
8700
  }
8705
8701
  /**
@@ -8717,7 +8713,7 @@ class DateInputComponent {
8717
8713
  */
8718
8714
  notify() {
8719
8715
  this.ngZone.run(() => {
8720
- this.showClearButton = true;
8716
+ this.showClearButton = this.value ? true : false;
8721
8717
  this.onControlChange(cloneDate(this.value));
8722
8718
  this.valueChange.emit(cloneDate(this.value));
8723
8719
  });
@@ -8792,7 +8788,7 @@ class DateInputComponent {
8792
8788
  onWidgetInputEnd() {
8793
8789
  this.updateIncompleteValidationStatus();
8794
8790
  if (this.clearButton) {
8795
- this.showClearButton = true;
8791
+ this.showClearButton = this.value || this.isDateIncomplete ? true : false;
8796
8792
  this.cdr.markForCheck();
8797
8793
  }
8798
8794
  }
@@ -10084,8 +10080,6 @@ class DatePickerComponent extends MultiTabStop {
10084
10080
  * @hidden
10085
10081
  */
10086
10082
  handleChange(value) {
10087
- this.cdr.markForCheck();
10088
- this.dateInput.showClearButton = true;
10089
10083
  this.value = value;
10090
10084
  if (this.show) {
10091
10085
  this.focusInput();
@@ -14497,14 +14491,7 @@ class DateTimePickerComponent extends MultiTabStop {
14497
14491
  * Configures the incremental steps of the DateInput and the popup component of the TimePicker
14498
14492
  * ([see example]({% slug incrementalsteps_datetimepicker %})).
14499
14493
  */
14500
- this.steps = {
14501
- second: 1,
14502
- minute: 1,
14503
- hour: 1,
14504
- day: 1,
14505
- month: 1,
14506
- year: 1
14507
- };
14494
+ this.steps = {};
14508
14495
  /**
14509
14496
  * Specifies the Calendar type.
14510
14497
  *
@@ -15633,7 +15620,6 @@ class DateTimePickerComponent extends MultiTabStop {
15633
15620
  if (isEqual(this.value, value)) {
15634
15621
  return;
15635
15622
  }
15636
- this.dateInput.showClearButton = true;
15637
15623
  this.value = cloneDate(value);
15638
15624
  this.onControlChange(cloneDate(value));
15639
15625
  this.valueChange.emit(cloneDate(value));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dateinputs",
3
- "version": "16.3.0-develop.4",
3
+ "version": "16.3.0-develop.6",
4
4
  "description": "Kendo UI for Angular Date Inputs Package - Everything you need to add date selection functionality to apps (DatePicker, TimePicker, DateInput, DateRangePicker, DateTimePicker, Calendar, and MultiViewCalendar).",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -34,18 +34,18 @@
34
34
  "@angular/forms": "15 - 18",
35
35
  "@angular/platform-browser": "15 - 18",
36
36
  "@progress/kendo-licensing": "^1.0.2",
37
- "@progress/kendo-angular-buttons": "16.3.0-develop.4",
38
- "@progress/kendo-angular-common": "16.3.0-develop.4",
39
- "@progress/kendo-angular-intl": "16.3.0-develop.4",
40
- "@progress/kendo-angular-l10n": "16.3.0-develop.4",
41
- "@progress/kendo-angular-icons": "16.3.0-develop.4",
42
- "@progress/kendo-angular-popup": "16.3.0-develop.4",
43
- "@progress/kendo-angular-navigation": "16.3.0-develop.4",
37
+ "@progress/kendo-angular-buttons": "16.3.0-develop.6",
38
+ "@progress/kendo-angular-common": "16.3.0-develop.6",
39
+ "@progress/kendo-angular-intl": "16.3.0-develop.6",
40
+ "@progress/kendo-angular-l10n": "16.3.0-develop.6",
41
+ "@progress/kendo-angular-icons": "16.3.0-develop.6",
42
+ "@progress/kendo-angular-popup": "16.3.0-develop.6",
43
+ "@progress/kendo-angular-navigation": "16.3.0-develop.6",
44
44
  "rxjs": "^6.5.3 || ^7.0.0"
45
45
  },
46
46
  "dependencies": {
47
47
  "tslib": "^2.3.1",
48
- "@progress/kendo-angular-schematics": "16.3.0-develop.4",
48
+ "@progress/kendo-angular-schematics": "16.3.0-develop.6",
49
49
  "@progress/kendo-common": "^0.2.0",
50
50
  "@progress/kendo-date-math": "^1.1.0",
51
51
  "@progress/kendo-dateinputs-common": "^0.3.3"