mirror of
https://github.com/fergalmoran/dss.git
synced 2026-01-19 15:23:58 +00:00
60 lines
2.0 KiB
CoffeeScript
Executable File
60 lines
2.0 KiB
CoffeeScript
Executable File
###
|
|
@license
|
|
|
|
----------------------------------------------
|
|
|
|
Copyright (c) 2012, Fergal Moran. All rights reserved.
|
|
Code provided under the BSD License:
|
|
###
|
|
define ["underscore", "backbone", "vent", "utils", "text!/tpl/HeaderView"],
|
|
(_, Backbone, vent, utils, Template) ->
|
|
class HeaderView extends Backbone.View
|
|
template: _.template(Template)
|
|
events:
|
|
"click #header-play-pause-button": "togglePlayState"
|
|
"click #header-login-button": "login"
|
|
"click #header-live-button": "playLive"
|
|
|
|
initialize: ->
|
|
@render()
|
|
@listenTo vent, "mix:play", @trackPlaying
|
|
@listenTo vent, "mix:pause", @trackPaused
|
|
|
|
login: ->
|
|
utils.modal "dlg/LoginView"
|
|
|
|
logout: ->
|
|
utils.showAlert "Success", "You are now logged out"
|
|
|
|
trackChanged: (data) ->
|
|
$(@el).find("#track-description").text data.title
|
|
$(@el).find("#track-description").attr "href", "#" + data.item_url
|
|
|
|
trackPlaying: (data) ->
|
|
$(@el).find("#header-play-button-icon").removeClass "icon-play"
|
|
$(@el).find("#header-play-button-icon").addClass "icon-pause"
|
|
|
|
trackPaused: (data) ->
|
|
$(@el).find("#header-play-button-icon").removeClass "icon-pause"
|
|
$(@el).find("#header-play-button-icon").addClass "icon-play"
|
|
|
|
render: ->
|
|
$(@el).html @template()
|
|
this
|
|
|
|
playLive: ->
|
|
vent.trigger('live:play')
|
|
|
|
togglePlayState: ->
|
|
button = $(@el).find("#header-play-pause-button")
|
|
mode = button.data("mode")
|
|
if mode is "play"
|
|
dssSoundHandler.resumeSound()
|
|
_eventAggregator.trigger "track_playing"
|
|
button.data "mode", "pause"
|
|
else
|
|
dssSoundHandler.pauseSound()
|
|
_eventAggregator.trigger "track_paused"
|
|
button.data "mode", "play"
|
|
|
|
HeaderView |