-
Notifications
You must be signed in to change notification settings - Fork 0
/
keys.js.coffee
49 lines (37 loc) · 1.33 KB
/
keys.js.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
window.selected_song = null
key.filter = (e) -> true
key '/,s', ->
return if $('.navbar-search input').is(':focus')
$('.navbar-search input').focus()
return false
key 'escape', 'searching', ->
cancel_search()
return false
key 'down', ->
$('.navbar-search input').blur()
window.selected_song = if selected_song != null then selected_song + 1 else 1
window.selected_song = $('#song_list tr').length - 1 if selected_song >= $('#song_list tr').length
$('#song_list tr').removeClass('selected')
$('#song_list tr:eq('+selected_song+')').addClass('selected')
return false
key 'up', ->
return if $('.navbar-search input').is(':focus')
$('.navbar-search input').blur()
window.selected_song = if selected_song != null then selected_song - 1 else 1
if selected_song < 1
$('.navbar-search input').focus()
window.selected_song = null
$('#song_list tr').removeClass('selected')
$('#song_list tr:eq('+selected_song+')').addClass('selected')
return false
key 'left', ->
return if $('.navbar-search input').is(':focus')
$('.pagination .prev a').click()
return false
key 'right', ->
return if $('.navbar-search input').is(':focus')
$('.pagination .next_page a').click()
return false
key 'enter', ->
return if $('.navbar-search input').is(':focus')
$('#song_list tr:eq('+selected_song+') a.vote').click()