Skip to content

Commit 01f5233

Browse files
Ivan KitanovIvan Kitanov
authored andcommitted
Emitting igcChange when the user clicks outside of the dialog and adding test
1 parent 2de5540 commit 01f5233

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/components/date-range-picker/date-range-picker.spec.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,32 @@ describe('Date range picker', () => {
803803
expect(dialog?.hasAttribute('open')).to.equal(false);
804804
});
805805

806+
it('should select a range of dates in dialog mode and emit igcChange when clicked outside of dialog', async () => {
807+
const eventSpy = spy(picker, 'emitEvent');
808+
809+
picker.mode = 'dialog';
810+
await elementUpdated(picker);
811+
812+
picker.open = true;
813+
await elementUpdated(picker);
814+
await selectDates(today, tomorrow, calendar);
815+
816+
expect(eventSpy).not.to.be.calledWith('igcChange');
817+
let dialog = picker.renderRoot.querySelector('igc-dialog');
818+
expect(dialog?.hasAttribute('open')).to.equal(true);
819+
820+
simulateClick(document.body);
821+
await elementUpdated(picker);
822+
expect(eventSpy).calledWith('igcChange');
823+
checkSelectedRange(picker, {
824+
start: today.native,
825+
end: tomorrow.native,
826+
});
827+
828+
dialog = picker.renderRoot.querySelector('igc-dialog');
829+
expect(dialog?.hasAttribute('open')).to.equal(false);
830+
});
831+
806832
it('should not emit igcChange when cancel is clicked and the value should be the initial value', async () => {
807833
const eventSpy = spy(picker, 'emitEvent');
808834

src/components/date-range-picker/date-range-picker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,7 @@ export default class IgcDateRangePickerComponent extends FormAssociatedRequiredM
634634

635635
protected handleDialogClosing(event: Event) {
636636
event.stopPropagation();
637-
this.revertValue();
637+
this.emitEvent('igcChange', { detail: this.value });
638638
this._hide(true);
639639
}
640640

0 commit comments

Comments
 (0)