Skip to content

Commit 140b977

Browse files
fix(IgxTimePicker): emit onValueChanged if 0:0 is cleared
1 parent 1c94cd2 commit 140b977

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1389,6 +1389,16 @@ describe('IgxTimePicker', () => {
13891389
expect(timePicker.onValidationFailed.emit).toHaveBeenCalled();
13901390
}));
13911391

1392+
it('should trigger onValueChanged if 00:00 is cleared from the input', fakeAsync(() => {
1393+
fixture.componentInstance.date = new Date(2018, 10, 27, 0, 0, 0, 0);
1394+
fixture.detectChanges();
1395+
spyOn(timePicker.onValueChanged, 'emit');
1396+
const clearButton = fixture.debugElement.queryAll(By.css('.igx-icon'))[1];
1397+
UIInteractions.simulateClickEvent(clearButton.nativeElement);
1398+
fixture.detectChanges();
1399+
expect(timePicker.onValueChanged.emit).toHaveBeenCalledTimes(1);
1400+
}));
1401+
13921402
it('should scroll on dropdown opened and accept value when focus lost', fakeAsync(() => {
13931403
fixture.detectChanges();
13941404

projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1948,7 +1948,7 @@ export class IgxTimePickerComponent implements
19481948
this.displayValue = '';
19491949
this.value.setHours(0, 0);
19501950

1951-
if (oldVal.getTime() !== this.value.getTime()) {
1951+
if (oldVal.getTime() !== this.value.getTime() || this.isReset()) {
19521952
const args: IgxTimePickerValueChangedEventArgs = {
19531953
oldValue: oldVal,
19541954
newValue: this.value
@@ -1992,7 +1992,7 @@ export class IgxTimePickerComponent implements
19921992
this.value.setHours(0, 0);
19931993
this.displayValue = val;
19941994

1995-
if (oldVal.getTime() !== this.value.getTime()) {
1995+
if (oldVal.getTime() !== this.value.getTime() || this.isReset()) {
19961996
const args: IgxTimePickerValueChangedEventArgs = {
19971997
oldValue: oldVal,
19981998
newValue: this.value
@@ -2144,6 +2144,14 @@ export class IgxTimePickerComponent implements
21442144
input.valid = IgxInputState.INITIAL;
21452145
}
21462146
}
2147+
2148+
// Workaround method for #8135
2149+
// TODO: It must be removed in #6482
2150+
private isReset(): boolean {
2151+
return this.value.getHours() === 0
2152+
&& this.value.getMinutes() === 0
2153+
&& this.value.getSeconds() === 0;
2154+
}
21472155
}
21482156

21492157
/**

0 commit comments

Comments
 (0)