Skip to content

Commit 867d21f

Browse files
committed
[BUGFIX] fixes issue using arrow keys
1 parent 5cdf0be commit 867d21f

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

src/inputUtilities.js

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,13 @@ export function setupValueProperties(dateInputElement) {
7272
);
7373
}
7474

75-
export function setupKeyEvents(newElement) {
76-
const inputElement = newElement;
77-
const minDate = inputElement.dateRange[0];
78-
const maxDate = inputElement.dateRange[1];
79-
75+
export function setupKeyEvents(dateInputObject) {
76+
const minDate = dateInputObject.dateRange[0];
77+
const maxDate = dateInputObject.dateRange[1];
78+
const dateInputHtmlElement = dateInputObject.htmlElement;
8079
// Update the picker if the date changed manually in the input.
81-
inputElement.htmlElement.addEventListener('keydown', (e) => {
80+
dateInputHtmlElement.addEventListener('keydown', (e) => {
8281
let date = new Date();
83-
8482
switch (e.keyCode) {
8583
case 9: // hide on tab
8684
case 27:
@@ -89,45 +87,45 @@ export function setupKeyEvents(newElement) {
8987
break;
9088
case 37:
9189
// arrow left
92-
if (inputElement.valueAsDate) {
90+
if (dateInputHtmlElement.valueAsDate) {
9391
date = Picker.returnCurrentDate();
9492
date.setDate(date.getDate() - 1);
9593

9694
if (date >= minDate) {
97-
inputElement.valueAsDate = date;
95+
dateInputHtmlElement.valueAsDate = date;
9896
}
9997
}
10098
break;
10199
case 38:
102100
// arrow up
103-
if (inputElement.valueAsDate) {
101+
if (dateInputHtmlElement.valueAsDate) {
104102
date = Picker.returnCurrentDate();
105103
date.setDate(date.getDate() - 7);
106104

107105
if (date >= minDate) {
108-
inputElement.valueAsDate = date;
106+
dateInputHtmlElement.valueAsDate = date;
109107
}
110108
}
111109
break;
112110
case 39:
113111
// arrow right
114-
if (inputElement.valueAsDate) {
112+
if (dateInputHtmlElement.valueAsDate) {
115113
date = Picker.returnCurrentDate();
116114
date.setDate(date.getDate() + 1);
117115

118116
if (date <= maxDate) {
119-
inputElement.valueAsDate = date;
117+
dateInputHtmlElement.valueAsDate = date;
120118
}
121119
}
122120
break;
123121
case 40:
124122
// arrow down
125-
if (inputElement.valueAsDate) {
123+
if (dateInputHtmlElement.valueAsDate) {
126124
date = Picker.returnCurrentDate();
127125
date.setDate(date.getDate() + 7);
128126

129127
if (date <= maxDate) {
130-
inputElement.valueAsDate = date;
128+
dateInputHtmlElement.valueAsDate = date;
131129
}
132130
}
133131
break;
@@ -139,7 +137,7 @@ export function setupKeyEvents(newElement) {
139137
Picker.syncPickerWithInput();
140138
});
141139

142-
inputElement.htmlElement.addEventListener('keyup', () => {
140+
dateInputHtmlElement.addEventListener('keyup', () => {
143141
Picker.syncPickerWithInput();
144142
});
145143
}

0 commit comments

Comments
 (0)