Skip to content

Commit c5fc7da

Browse files
committed
Close the picker on click outside #128
1 parent 0ccf0e0 commit c5fc7da

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

lib/js/__tests__/index-test.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,25 @@ test("closing the picker removes elements from the dom", async () => {
3333
expect($backdrop).toBeNull();
3434
});
3535

36-
test.only("the picker closes when the escape key is pressed", async () => {
36+
test("the picker closes when the escape key is pressed", async () => {
3737
const picker = await openPicker();
3838

3939
const event = new window.KeyboardEvent('keydown', { which: 27, keyCode: 27 });
4040
window.dispatchEvent(event);
4141

4242
await delay(300);
43-
const $picker = $(".c-datepicker")
43+
const $picker = $(".c-datepicker");
44+
expect($picker).toBeNull();
45+
});
46+
47+
test("the picker closes when the scrim element is clicked", async () => {
48+
const picker = await openPicker();
49+
50+
const event = new MouseEvent('click');
51+
$(".c-scrim").dispatchEvent(event);
52+
53+
await delay(300);
54+
const $picker = $(".c-datepicker");
4455
expect($picker).toBeNull();
4556
});
4657

lib/js/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ class DateTimePicker extends Events {
183183
this.$('.js-show-clock')
184184
.addEventListener('click', e => this.clickShowClock(e), false);
185185

186+
this.scrimEl.addEventListener('click', () => this.close(), false);
187+
186188
return this;
187189
}
188190

0 commit comments

Comments
 (0)