jam-cloud/web/app/assets/javascripts/dialog/soundCloudPlayerDialog.js.c...

50 lines
1.3 KiB
CoffeeScript

$ = jQuery
context = window
context.JK ||= {}
context.JK.SoundCloudPlayerDialog = class SoundCloudPlayerDialog
constructor: (@app) ->
@rest = context.JK.Rest()
@client = context.jamClient
@logger = context.JK.logger
@screen = null
@dialogId = 'sound-cloud-player-dialog'
@dialog = null
@player = null
initialize:(@url, @caption) =>
dialogBindings = {
'beforeShow' : @beforeShow,
'afterShow' : @afterShow,
'afterHide' : @afterHide
}
@dialog = $('[layout-id="' + @dialogId + '"]')
@app.bindDialog(@dialogId, dialogBindings)
@player = @dialog.find(".sound-cloud-player")
@dialog.find(".caption").text("'#{@caption}'")
@player.addClass("hidden")
beforeShow:() =>
@player.addClass("hidden")
@player.attr("src", "")
# the Windows client does not play back correctly
if context.jamClient.IsNativeClient()
context.JK.popExternalLink(@url)
return false
else
u = encodeURIComponent(@url)
src = "https://w.soundcloud.com/player/?url=#{u}&auto_play=true&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true&loop=true"
@player.attr("src", src)
afterShow:() =>
@player.removeClass("hidden")
showDialog:() =>
@app.layout.showDialog(@dialogId)
afterHide: () =>
@player.attr('src', '')