Minor fixes

This commit is contained in:
magnolia-fan
2011-12-01 10:09:18 +04:00
parent f76dea062c
commit bc98085090
8 changed files with 50 additions and 26 deletions
+29 -13
View File
@@ -55,10 +55,11 @@ class window.Player
if not autoplay?
autoplay = false
initial_count = $('.playlist li').length
$('.playlist').append this.generateTrackHtml track
c = this.generateTrackHtml track
$('.playlist').append c.html
$('.playlist').sortable "refresh"
if initial_count == 0 and not _player.hasTrack()
_player.setTrack($('.playlist li').first().attr('id').split('i')[1])
unless _player.currentTrack()?
_player.setTrack(c.uid)
false
generateTrackHtml: (track) ->
@@ -67,12 +68,16 @@ class window.Player
s = len - Math.floor(len / 60) * 60
duration = m + ':' + (if s < 10 then '0' else '') + s
item_class = (if track.available == false then 'unavailable' else '')
"<li id='i#{Math.round(Math.random() * 999999)}' data-id='#{track.id}' class='#{item_class}'>
<div class='song-duration'>#{duration}</div>
<div class='label important remove'>remove</div>
<div class='artist-name'><a class='data artist'>#{track.artist}</a></div>
<div class='song-title'>#{track.name}</div>
</li>"
uid = Math.round(Math.random() * 999999)
{
html: "<li id='i#{uid}' data-id='#{track.id}' class='#{item_class}'>
<div class='song-duration'>#{duration}</div>
<div class='label important remove'>remove</div>
<div class='artist-name'><a class='data artist'>#{track.artist}</a></div>
<div class='song-title'>#{track.name}</div>
</li>"
uid: uid
}
getDataFromLi: (obj) ->
id = $(obj).attr 'data-id'
@@ -91,13 +96,18 @@ class window.Player
$obj.addClass 'now'
_vk_music.search track.artist, track.name, track.length, (audio) ->
if audio is null
_session.query '/track/report', { id: track.id }, (r) ->
if r.result is 'success'
_session.query '/track/report_available', { id: track.id, available: false }, (r) ->
if r.result is 'success' or r.status is 'success'
$(".playlist li[data-id='#{track.id}']").addClass("unavailable")
$($(".album div[data-id='#{track.id}']").siblings()[0]).addClass("unavailable")
$(".s-add[data-id='#{track.id}']").parent().parent().addClass("unavailable")
_player.setTrack _player.nextTrack()
else
_player.playSource audio.url
if track.available == false
_session.query '/track/report_available', { id: track.id, available: true }, (r) ->
if r.result is 'success' or r.status is 'success'
$(".playlist li[data-id='#{track.id}']").removeClass("unavailable")
$(".s-add[data-id='#{track.id}']").parent().parent().removeClass("unavailable")
if track.length == 0
len = parseInt(audio.duration, 10)
m = Math.floor(len / 60)
@@ -128,6 +138,11 @@ class window.Player
true
false
currentTrack: ->
current_track = $('.playlist li.now')
false unless current_track?
@library[$(current_track).data('id')]
playSource: (url) ->
@scrobbled = false
$('#jplayer').jPlayer 'setMedia', mp3: url
@@ -253,7 +268,8 @@ $ ->
cursor: 'move'
stop: (e, ui) ->
if $(ui.item).prop("tagName") == "TR"
ui.item.replaceWith(_player.generateTrackHtml(_player.library[$(ui.item).find('.s-add').data('id')]))
c = _player.generateTrackHtml(_player.library[$(ui.item).find('.s-add').data('id')])
ui.item.replaceWith(c.html)
false
$('.playlist').droppable
accept: '.track'
+1 -1
View File
@@ -80,7 +80,7 @@
.playlist {
margin: 20px 0 0 0;
min-height: 300px;
padding-bottom: 200px;
li {
list-style: none;
background-color: #ffffff;