File tree Expand file tree Collapse file tree 4 files changed +225
-155
lines changed Expand file tree Collapse file tree 4 files changed +225
-155
lines changed Original file line number Diff line number Diff line change 95
95
display : block ;
96
96
font-size : @font-size__s ;
97
97
padding : @search-global-input__padding-top @search-global-input__padding-side @search-global-input__padding-bottom ;
98
+ & ._active {
99
+ background-color : @color-blue-clear-sky ;
100
+ }
98
101
}
99
102
.title {
100
103
display : block ;
Original file line number Diff line number Diff line change 329
329
margin : 0 !important ;
330
330
position : absolute ;
331
331
left : 0 ;
332
- top : 100% ;
333
332
z-index : 1 ;
334
333
.css (background , @_submenu-background-color );
335
334
.css (border , @_submenu-border-width @_submenu-border-style @_submenu-border-color );
370
369
top : 0 !important ;
371
370
left : 100% !important ;
372
371
}
372
+ .submenu-reverse {
373
+ bottom : 0 !important ;
374
+ left : auto !important ;
375
+ right : 100% ;
376
+ }
373
377
}
374
378
& .more {
375
379
position : relative ;
Original file line number Diff line number Diff line change 178
178
_bind : function ( ) {
179
179
this . _on ( $ . extend ( {
180
180
keydown : function ( event ) {
181
- var keyCode = $ . ui . keyCode ;
181
+ var keyCode = $ . ui . keyCode ,
182
+ suggestList ,
183
+ hasSuggestedItems ,
184
+ hasSelectedItems ,
185
+ selectedItem ;
186
+
182
187
switch ( event . keyCode ) {
183
188
case keyCode . PAGE_UP :
184
- case keyCode . PAGE_DOWN :
185
189
case keyCode . UP :
190
+ if ( ! event . shiftKey ) {
191
+ event . preventDefault ( ) ;
192
+ this . _proxyEvents ( event ) ;
193
+ }
194
+
195
+ suggestList = event . currentTarget . parentNode . getElementsByTagName ( 'ul' ) [ 0 ] ;
196
+ hasSuggestedItems = event . currentTarget . parentNode . getElementsByTagName ( 'ul' ) [ 0 ] . children . length >= 0 ;
197
+ if ( hasSuggestedItems ) {
198
+ selectedItem = $ ( suggestList . getElementsByClassName ( '_active' ) [ 0 ] ) . removeClass ( '_active' ) . prev ( ) . addClass ( '_active' ) ;
199
+ event . currentTarget . value = selectedItem . find ( "a" ) . text ( ) ;
200
+ }
201
+
202
+ break ;
203
+ case keyCode . PAGE_DOWN :
186
204
case keyCode . DOWN :
187
205
if ( ! event . shiftKey ) {
188
206
event . preventDefault ( ) ;
189
207
this . _proxyEvents ( event ) ;
190
208
}
209
+
210
+ suggestList = event . currentTarget . parentNode . getElementsByTagName ( 'ul' ) [ 0 ] ;
211
+ hasSuggestedItems = event . currentTarget . parentNode . getElementsByTagName ( 'ul' ) [ 0 ] . children . length >= 0 ;
212
+ if ( hasSuggestedItems ) {
213
+ hasSelectedItems = suggestList . getElementsByClassName ( '_active' ) . length === 0 ;
214
+ if ( hasSelectedItems ) {
215
+ selectedItem = $ ( suggestList . children [ 0 ] ) . addClass ( '_active' ) ;
216
+ event . currentTarget . value = selectedItem . find ( "a" ) . text ( ) ;
217
+ } else {
218
+ selectedItem = $ ( suggestList . getElementsByClassName ( '_active' ) [ 0 ] ) . removeClass ( '_active' ) . next ( ) . addClass ( '_active' ) ;
219
+ event . currentTarget . value = selectedItem . find ( "a" ) . text ( ) ;
220
+ }
221
+ }
191
222
break ;
192
223
case keyCode . TAB :
193
224
if ( this . isDropdownShown ( ) ) {
197
228
break ;
198
229
case keyCode . ENTER :
199
230
case keyCode . NUMPAD_ENTER :
231
+
200
232
if ( this . isDropdownShown ( ) && this . _focused ) {
201
233
this . _proxyEvents ( event ) ;
202
234
event . preventDefault ( ) ;
You can’t perform that action at this time.
0 commit comments