Merge pull request #78 from MITx/ps-fix-youtube-click

Trigger a pause event when user click Youtube logo
This commit is contained in:
Calen Pennington
2012-06-01 12:46:23 -07:00
2 changed files with 12 additions and 1 deletions

View File

@@ -126,6 +126,14 @@ describe 'VideoPlayer', ->
it 'trigger pause event', ->
expect('pause').toHaveBeenTriggeredOn @player
describe 'when the video is unstarted', ->
beforeEach ->
spyOnEvent @player, 'pause'
@player.onStateChange data: YT.PlayerState.UNSTARTED
it 'trigger pause event', ->
expect('pause').toHaveBeenTriggeredOn @player
describe 'when the video is ended', ->
beforeEach ->
spyOnEvent @player, 'ended'

View File

@@ -1,5 +1,8 @@
class @VideoPlayer
constructor: (@video) ->
# Define a missing constant of Youtube API
YT.PlayerState.UNSTARTED = -1
@currentTime = 0
@element = $("#video_#{@video.id}")
@render()
@@ -57,7 +60,7 @@ class @VideoPlayer
switch event.data
when YT.PlayerState.PLAYING
$(@).trigger('play')
when YT.PlayerState.PAUSED
when YT.PlayerState.PAUSED, YT.PlayerState.UNSTARTED
$(@).trigger('pause')
when YT.PlayerState.ENDED
$(@).trigger('ended')