search: function(action){ this.setState({ 'song:busy' : true }); var searchTerm = action.get('payload').searchTerm; var url = API_URL + '/song/search/' + searchTerm; Ajax(url, function(res){ if (res.status == 404){ console.log('404'); return this.notFound(searchTerm); } else if (res.status != 200){ console.log('error'); return this.shitHappened(); } var result = JSON.parse(res.response); this.setState({ 'song:busy' : false, 'song:current' : result, 'song:searchTerm' : searchTerm }); this.fillQueue(result); }.bind(this)); },
fillQueue: function(current, count){ this.setState({ 'song:queue:pending' : true }); var url = API_URL + '/song/' + current['artist'] + '/' + current['name'] + '/' + current['mbid'] + '/getqueue/' + (count || 15); Ajax(url, function(res){ var result= JSON.parse(res.response); var queue = this.state.get('song:queue').concat(result); this.setState({ 'song:queue' : result, 'song:queue:pending' : false }); }.bind(this)); },