1
0
Fork 0
oldhaven/app/assets/javascripts/search.coffee

60 lines
1.7 KiB
CoffeeScript
Raw Normal View History

2011-09-07 23:47:11 +00:00
class window.Search
2011-09-08 10:56:10 +00:00
showSpinner: ->
2011-09-09 22:13:02 +00:00
$('#search').attr(disabled: 'disabled').blur()
2011-09-08 10:56:10 +00:00
$('#autocomplete-container').hide()
2011-09-09 22:13:02 +00:00
$('#artist-load-spinner').show()
2011-09-08 10:56:10 +00:00
this.hideSuggestions()
false
hideSpinner: ->
2011-09-09 22:13:02 +00:00
$('#search').val("").removeAttr 'disabled'
$('#artist-load-spinner').hide()
false
loadArtistData: (name) ->
_search.showSpinner()
name = name.split(' ').join('+')
$.get '/artist/' +name+ '/', (data) ->
if data.status in ['ok', 'loading']
_ajax.setArchor '/artist/' +name+ '/'
_page.print data.html
2011-09-15 08:52:29 +00:00
for album in data.albums
_player.albums[album.id] = album
2011-09-09 22:13:02 +00:00
_search.hideSpinner()
if data.status is 'loading'
setTimeout () ->
_search.loadArtistData name
, 5000
else if data.status is 'corrected'
_search.loadArtistData data.correct_name
else if data.status is 'suggestions'
_search.hideSpinner()
_page.print data.html
else if data.status == 'fail'
_search.hideSpinner()
_page.print data.html
2011-09-08 10:56:10 +00:00
false
showSuggestions: (values) ->
for item in values
$('.suggestions ul').append '
<li>
<a class="data artist">' +item.name+ '</a>
' +(if item.desc? then '<br/><span>'+item.desc+'</span>' else '')+ '
</li>'
$('.suggestions').show()
false
2011-06-27 18:41:36 +00:00
2011-09-08 10:56:10 +00:00
hideSuggestions: ->
$('.suggestions ul li').remove()
$('.suggestions').hide()
false
2011-06-27 18:41:36 +00:00
2011-09-09 22:13:02 +00:00
$('#search-form').live 'submit', ->
$('#autocomplete-container').remove()
_search.loadArtistData $('#search').val()
2011-09-08 10:56:10 +00:00
false
$('.data.artist').live 'click', ->
2011-09-09 22:13:02 +00:00
_search.loadArtistData $(this).html()
false