Skip to content

Commit 60c0737

Browse files
author
Ihor Melnychenko
committed
MAGETWO-11129: Found records in global search in Backend can't be selected via keyboard
- added keyup/down support
1 parent 8ad5962 commit 60c0737

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

lib/web/mage/backend/suggest.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,10 @@
179179
this._on($.extend({
180180
keydown: function (event) {
181181
var keyCode = $.ui.keyCode,
182-
suggestList;
182+
suggestList,
183+
hasSuggestedItems,
184+
hasSelectedItems,
185+
selectedItem;
183186
switch (event.keyCode) {
184187
case keyCode.PAGE_UP:
185188
case keyCode.UP:
@@ -189,9 +192,12 @@
189192
}
190193

191194
suggestList = event.currentTarget.parentNode.getElementsByTagName('ul')[0];
192-
if (suggestList) {
193-
$(suggestList.getElementsByClassName('_active')[0]).removeClass('_active').prev().addClass('_active');;
195+
hasSuggestedItems = event.currentTarget.parentNode.getElementsByTagName('ul')[0].children.length >= 0;
196+
if (hasSuggestedItems) {
197+
selectedItem = $(suggestList.getElementsByClassName('_active')[0]).removeClass('_active').prev().addClass('_active');
198+
event.currentTarget.value = selectedItem.find("a").text();
194199
}
200+
195201
break;
196202
case keyCode.PAGE_DOWN:
197203
case keyCode.DOWN:
@@ -201,11 +207,15 @@
201207
}
202208

203209
suggestList = event.currentTarget.parentNode.getElementsByTagName('ul')[0];
204-
if(suggestList){
205-
if(suggestList.getElementsByClassName('_active').length === 0) {
206-
$(suggestList.children[0]).addClass('_active');
210+
hasSuggestedItems = event.currentTarget.parentNode.getElementsByTagName('ul')[0].children.length >= 0;
211+
if(hasSuggestedItems){
212+
hasSelectedItems = suggestList.getElementsByClassName('_active').length === 0;
213+
if(hasSelectedItems) {
214+
selectedItem = $(suggestList.children[0]).addClass('_active');
215+
event.currentTarget.value = selectedItem.find("a").text();
207216
}else {
208-
$(suggestList.getElementsByClassName('_active')[0]).removeClass('_active').next().addClass('_active');
217+
selectedItem = $(suggestList.getElementsByClassName('_active')[0]).removeClass('_active').next().addClass('_active');
218+
event.currentTarget.value = selectedItem.find("a").text();
209219
}
210220
}
211221

@@ -218,6 +228,7 @@
218228
break;
219229
case keyCode.ENTER:
220230
case keyCode.NUMPAD_ENTER:
231+
221232
if (this.isDropdownShown() && this._focused) {
222233
this._proxyEvents(event);
223234
event.preventDefault();

0 commit comments

Comments
 (0)